﻿#ifndef EXPORTPARAMDBDLG_H
#define EXPORTPARAMDBDLG_H

#include "db_cfg_g_def.h"
#include "DbCfgFun.h"
#include <QListWidget>
#include <QListWidgetItem>
#include <QString>
#include <QVariant>
#include <QDialog>
#include <QComboBox>
#include <QLineEdit>
#include <QMessageBox>
#include <QTimer>
#include "GetColumnInfo.h"

#pragma once

namespace Ui 
{
    class ExportParamDbdlg;
}


enum EXPORT_DB_STEP
{
	EXPORT_DB_STEP_FREE				  =0,
	EXPORT_DB_STEP_CREATE_TABLE		    ,
	EXPORT_DB_STEP_EXPORTDATA			,
	EXPORT_DB_STEP_CREATE_LDTABLE		,
	EXPORT_DB_STEP_EXPORT_LDDATA		,
	EXPORT_DB_STEP_FINISH				,
	EXPORT_DB_STEP_MAX			    ,
};


class ExportParamDbdlg : public QDialog 
{
    Q_OBJECT
public:
    ExportParamDbdlg(QWidget *parent = 0);
    ~ExportParamDbdlg();

public:
	
	int		OpenDeviceDB();

	int		CreateDeviceTable(int TableNo);
	
	int		ExportDeviceTableData(int TableNo);
	
	int		CreateLDeviceTable(int TableNo);

	int		ExportLDeviceTableData(int TableNo);

/*	函数：	GetDeviceModelInfo()
	用途：	获取设备模板信息
	输入：
	返回：	*/
	int		GetDeviceModelInfo();

/*	函数：	InitDevModeInfoShow()
	用途：	显示设备模板信息
	输入：
	返回：	*/
	void	InitDevModeInfoShow();

protected slots:

	void	OnSetDBDir();
/*	函数：	CheckDeviceParam()
	用途：	判断设备参数
	输入：
	返回：	*/
	void	ExportDeviceDB();
	void	TimerProc_Main();

protected:
    void	changeEvent(QEvent *e);
	void	SetPogressShow(int CurValue, int MaxValue);

protected:
	unsigned int	m_DevModelId;
	int				m_YxNum;
	int				m_YcNum;
	int				m_YkNum;
	int				m_YmNum;
	int				m_SetNum;
	int				m_BhycNum;
	int				m_ParaNum;
	int				m_PrecNum;
	int				m_RybNum;

	int				m_ExportStepNo;
	int				m_TableNo;
	int				m_TableMaxNum;

protected:
	GetColumnInfo	m_ColInfo;

	char		 m_sql[SQL_MAX_LEN];
	char		 m_Dsql[SQL_MAX_LEN*2];
	SqLiteDB	 *m_pSqLDB;
	QString		 m_bakFileAllNameStr;

private:
	Ui::ExportParamDbdlg *ui;
	QTimer				*m_Timer1;


};

#endif // DEVICEDLG_H
